<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动态表格</title>

    <style>
        div{
            align-content: center;
            margin: 50px;
            text-align: center;
        }
        table{
            border: 2px solid;
            margin: auto;
            align-content: center;
            width: 50%;
        }
        table td,th{
            border: 2px solid;
            text-align: center;
        }
    </style>
</head>
<body>

    <div>
        <input type="text" placeholder="请输入编号" name="input">
        <input type="text" placeholder="请输入姓名" name="input">
        <input type="text" placeholder="请输入性别" name="input">
        <input type="button" value="添加" id="add">
    </div>

    <table>
            <caption>学生信息表</caption>
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>性别</th>
                <th>操作</th>
            </tr>

            <tr>
                <td>1</td>
                <td>喜羊羊</td>
                <td>男</td>
                <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
            </tr>

            <tr>
                <td>2</td>
                <td>灰太狼</td>
                <td>男</td>
                <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
            </tr>

            <tr>
                <td>3</td>
                <td>孙悟空</td>
                <td>男</td>
                <td><a href="javascript:void(0)" onclick="delTr(this);">删除</a></td>
            </tr>
        </table>


    <script>
        /**
         * 分析：
         *  1.添加：
         *      1.给添加按钮绑定单击事件
         *      2.获取文本框的内容
         *      3.创建 td，设置 td 的文本为文本框的内容
         *      4.创建 tr
         *      5.将 td 添加到 tr 中
         *      6.获取 table，将 tr 添加到 table 中
         *
         *  2.删除：
         *      1.确定点击的是哪一个超链接
         *          <a href="javascript:void(0)" onclick="delTr(this);">删除</a>
         *      2.怎么删除？
         *          removeChild()：通过父节点删除子节点
         */

        /**
         * //1.获取按钮
         * var add = document.getElementById("add");
         * add.onclick = function (){
         *      //2.获取文本框内容
         *      var inputs = document.getElementsByName("input");
         *      var id = inputs[0].value;
         *      var name = inputs[1].value;
         *      var gender = inputs[2].value;
         *
         *      //3.创建 td，设置 td 的文本为文本框的内容
         *      var td_id = document.createElement("td");
         *      var text_id = document.createTextNode(id);
         *      td_id.appendChild(text_id);
         *      var td_name = document.createElement("td");
         *      var text_name = document.createTextNode(name);
         *      td_name.appendChild(text_name);
         *      var td_gender = document.createElement("td");
         *      var text_gender = document.createTextNode(gender);
         *      td_gender.appendChild(text_gender);
         *      //创建 删除链接 的 td
         *      var td_a = document.createElement("td");
         *      var ele_a = document.createElement("a");
         *      ele_a.setAttribute("href","javascript:void(0)")
         *      ele_a.setAttribute("onclick","delTr(this);")
         *      var text_a = document.createTextNode("删除");
         *      ele_a.appendChild(text_a);
         *      td_a.appendChild(ele_a);
         *
         *      //4.创建 tr
         *      var tr = document.createElement("tr");
         *      //5.将 td 添加到 tr 中
         *      tr.appendChild(td_id);
         *      tr.appendChild(td_name);
         *      tr.appendChild(td_gender);
         *      tr.appendChild(td_a);
         *      //6.获取 table，将 tr 添加到 table 中
         *      var table = document.getElementsByTagName("table")[0];
         *      table.appendChild(tr);
         * }
         */

        //使用 innerHTML 添加
        var add = document.getElementById("add");
        add.onclick = function () {
            //2.获取文本框内容
            var inputs = document.getElementsByName("input");
            var id = inputs[0].value;
            var name = inputs[1].value;
            var gender = inputs[2].value;

            //获取 table
            var table = document.getElementsByTagName("table")[0];

            //追加一行
            table.innerHTML += "<tr>\n" +
                "                <td>"+id+"</td>\n" +
                "                <td>"+name+"</td>\n" +
                "                <td>"+gender+"</td>\n" +
                "                <td><a href=\"javascript:void(0)\" onclick=\"delTr(this);\">删除</a></td>\n" +
                "            </tr>";
        }

        //删除方法
        function delTr(obj){
            var table = obj.parentNode.parentNode.parentNode;
            var tr = obj.parentNode.parentNode;
            table.removeChild(tr);
        }

    </script>

</body>
</html>